package linkedList.双指针;

import linkedList.BaseLinkedListTest;
import po.ListNode;

/**
 * @author songZiHao
 * @version 1.0.0
 * @ClassName 删除排序链表中的重复元素83.java
 * @Description TODO https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
 * @createTime 2021年03月10日 16:46:00
 */
public class 删除排序链表中的重复元素83 extends BaseLinkedListTest {
    /**
     * todo
     *
     * 给定一个排序链表，删除所有重复的元素，使得每个元素只出现一次。
     */
    public ListNode deleteDuplicates(ListNode head) {
        if (head==null){
            return null;
        }
        if (head.next==null){
            return head;
        }
        ListNode p1=head,p2=head.next;
        while (p2!=null){
            //如果p1=p2，就把p1执行p2的下一个节点，然后p2往后移动
            if (p1.val==p2.val){
                p1.next=p2.next;
                p2=p2.next;
            }else {
                p1=p1.next;
                p2=p2.next;
            }
        }
        return head;
    }
}
